import java.awt.Button;
import java.awt.Color;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
//import java.io.file.Files;
import java.util.LinkedList;
import java.util.Scanner;
import java.util.Vector;

import javax.swing.JFrame;
import javax.swing.JList;


public class MainFrame extends JFrame{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	Rectangle rNeu = new Rectangle(75, 10, 500, 40);
	Rectangle rOeffnen = new Rectangle(500,120, 150, 40);
	Rectangle rBearbeiten = new Rectangle(0, 120, 150, 40);
	Rectangle rRezepte = new Rectangle(175, 120, 300, 500);
	Button bNeu;
	Button bBearbeiten;
	Button bOeffnen;
	JList liRezepte;
		
	public  MainFrame() {
		// Der Titel des Fensters soll der
		 // Name der Klasse sein
		 super(MainFrame.class.getName());
		 this.setBounds(100,10, 668, 700);
		 
		 // Layout-Manager setzen
		 getContentPane().setLayout(null);
		 getContentPane().setBackground(new Color(222,184,135));
		 File f = new File(System.getProperty("user.dir"));
		 File [] fileArray = f.listFiles();
		// System.out.println(fileArray.length);
		// print(fileArray);
		 fileArray = this.getDats(fileArray);
		 //Scanner s = new Scanner();
		 print(fileArray);
	     liRezepte = new JList(fileArray);
	     liRezepte.setBackground(new Color(255,211,155));
	     liRezepte.setBounds(rRezepte);
	     getContentPane().add(liRezepte);
	     
	     bOeffnen = new Button("Rezept �ffnen");
	     bOeffnen.setBackground(new Color(139,115,85));
	     bOeffnen.setForeground(Color.white);
	     bOeffnen.setBounds(rOeffnen);
	     bOeffnen.addActionListener(new ActionListener() {
	    	 public void actionPerformed(ActionEvent e) {
	    		new RezeptOeffnenFrame((File) liRezepte.getSelectedValue());
	    		
	    	 }
	     });
	     getContentPane().add(bOeffnen);
	     
	     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	     // Fenster sichtbar machen
	     setVisible(true);
	   
	     bBearbeiten = new Button("Rezept bearbeiten");
	     bBearbeiten.setBackground(new Color(139,115,85));
	     bBearbeiten.setForeground(Color.white);
	     bBearbeiten.setBounds(rBearbeiten);
	     bBearbeiten.addActionListener(new ActionListener() {
	    	 public void actionPerformed(ActionEvent e) {
	    		new RezeptBearbeitenFrame((File) liRezepte.getSelectedValue());
	    		
	    	 }
	     });
	     getContentPane().add(bBearbeiten);
	     
	     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	     // Fenster sichtbar machen
	     setVisible(true);
	     
	     bNeu = new Button("Neues Rezept anlegen");
	     bNeu.setBackground(new Color(139,115,85));
	     bNeu.setForeground(Color.white);
	     bNeu.setBounds(rNeu);
	     bNeu.addActionListener(new ActionListener() {
	    	 public void actionPerformed(ActionEvent e) {
	    		new RezeptBearbeitenFrame();
	    		
	    	 }
	     });
	     getContentPane().add(bNeu);
	     
	     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	     // Fenster sichtbar machen
	     setVisible(true);
	}
	private void print(File[] fileArray) {
		for (File file : fileArray) {
			System.out.println(file.getPath());
		}
		
	}
	File[] getDats(File[] files){
		LinkedList<File> newFiles = new LinkedList<File>();
		//variablenname.add
		for (int i = 0; i < files.length; i++) {
			File aktuell = files[i];
			if(aktuell.getPath().endsWith(".dat"))
				newFiles.add(aktuell);
		}
		File[] out = new File[newFiles.size()];
		out = newFiles.toArray(out);
		return out;
	}
	   
    /*gibt alle Datein aus file zur�ck, die mit ".dat" enden
     * 
     * Tipps
     * for-Schleife �ber files
     * Dateinamen eines file mit endswith(".dat")vergleichen, falls ja in ein neues Array
     */
	/*class FileOut extends File{

		
		public FileOut(File parent, String child) {
			super(parent, child);
			// TODO Auto-generated constructor stub
		}
		public String toString(){
			String s = this.getPath();
			return s;
		}
		
	}/**/
	
	    
	  
	
}

	

